package com.ctshk.rpc.cms.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.cms.dto.ContentDTO;
import com.ctshk.rpc.cms.req.ContentAddReq;
import com.ctshk.rpc.cms.req.ContentQueryReq;
import com.ctshk.rpc.cms.req.ContentUpdateReq;
import com.ctshk.rpc.cms.req.UpdateStatusReq;

/**
 * <p>
 * 内容管理表 服务类
 * </p>
 *
 * @author LiZhiming
 * @since 2021-04-23
 */
public interface IContentService{
    /**
     * 新增内容
     *
     * @param req
     * @return
     */
    Result insert(ContentAddReq req, TokenUser tu);

    /**
     * 查询内容
     * @param contentId
     * @return
     */
    Result<ContentDTO> queryById(String contentId);

    /**
     * 内容分页查询
     * @param req
     * @return
     */
    PageResponse<ContentDTO> queryList(ContentQueryReq req);

    /**
     * 修改内容
     * @param req
     * @return
     */
    Result update(ContentUpdateReq req, TokenUser tu);

    /**
     * 修改有效状态
     * @param req
     * @return
     */
    Result updateStatusById(UpdateStatusReq req);

    /**
     * 自增指定内容浏览记录
     * @param id 内容ID
     * @return
     */
    Result updateCountById(Long id);
}
